home *** CD-ROM | disk | FTP | other *** search
/ SuperHack / SuperHack CD.bin / CODING / CPP / WFC010.ZIP / INCLUDE / DRAWOBJ.HPP < prev    next >
C/C++ Source or Header  |  1995-12-07  |  4KB  |  168 lines

  1. #if ! defined ( DRAWING_OBJECTS_CLASS_HEADER )
  2.  
  3. /*
  4. ** Author: Samuel R. Blackburn
  5. ** CI$: 76300,326
  6. ** Internet: sammy@sed.csc.com
  7. **
  8. ** You can use it any way you like as long as you don't try to sell it.
  9. **
  10. ** Any attempt to sell WFC in source code form must have the permission
  11. ** of the original author. You can produce commercial executables with
  12. ** WFC but you can't sell WFC.
  13. **
  14. ** Copyright, 1995, Samuel R. Blackburn
  15. **
  16. ** $Workfile: $
  17. ** $Revision: $
  18. ** $Modtime: $
  19. */
  20.  
  21. #define DRAWING_OBJECTS_CLASS_HEADER
  22.  
  23. class CRectangle : public CObject
  24. {
  25.    DECLARE_SERIAL( CRectangle )
  26.  
  27.    protected:
  28.  
  29.       void m_Initialize( void );
  30.       void m_SetRectangles( void );
  31.  
  32.       DWORD m_Height;
  33.       DWORD m_Width;
  34.  
  35.       COLORREF m_LineColor;
  36.       COLORREF m_FillColor;
  37.  
  38.       CPoint m_Location;
  39.  
  40.       CRect m_LineRectangle;
  41.       CRect m_FillRectangle;
  42.  
  43.    public:
  44.  
  45.       CRectangle();
  46.       CRectangle( DWORD height, DWORD width, const CPoint& location, COLORREF fill_color = WHITE, COLORREF line_color = BLACK );
  47.  
  48.       virtual ~CRectangle();
  49.  
  50.       virtual void     Copy( const CRectangle& source );
  51.       virtual void     Copy( const CRectangle *source_p );
  52.       virtual void     Draw( CDC& device_context );
  53.       virtual COLORREF GetFillColor( void ) const;
  54.       virtual DWORD    GetHeight( void ) const;
  55.       virtual COLORREF GetLineColor( void ) const;
  56.       virtual void     GetRectangle( CRect& destination ) const;
  57.       virtual DWORD    GetWidth( void ) const;
  58.       virtual void     OnClick( void );
  59.       virtual void     Serialize( CArchive& archive );
  60.       virtual void     SetFillColor( COLORREF color );
  61.       virtual void     SetHeight( DWORD height );
  62.       virtual void     SetLineColor( COLORREF color );
  63.       virtual void     SetLocation( const CPoint& size );
  64.       virtual void     SetSize( const CSize& size );
  65.       virtual void     SetWidth( DWORD width );
  66.  
  67. #if defined( _DEBUG )
  68.  
  69.       virtual void Dump( CDumpContext& dump_context ) const;
  70.  
  71. #endif // _DEBUG
  72. };
  73.  
  74. class CRoundedRectangle : public CRectangle
  75. {
  76.    DECLARE_SERIAL( CRoundedRectangle )
  77.  
  78.    protected:
  79.  
  80.       CPoint m_RoundingPoint;
  81.  
  82.    public:
  83.  
  84.       CRoundedRectangle();
  85.  
  86.       virtual ~CRoundedRectangle();
  87.  
  88.       virtual void  Copy( const CRoundedRectangle& source );
  89.       virtual void  Copy( const CRoundedRectangle * source_p );
  90.       virtual void  Draw( CDC& device_context );
  91.       virtual DWORD GetRoundingSize( void ) const;
  92.       virtual void  Serialize( CArchive& archive );
  93.       virtual void  SetRoundingSize( DWORD rounding_size );
  94.  
  95. #if defined( _DEBUG )
  96.  
  97.       virtual void Dump( CDumpContext& dump_context ) const;
  98.  
  99. #endif // _DEBUG
  100. };
  101.  
  102. class CSquare : public CRectangle
  103. {
  104.    DECLARE_SERIAL( CSquare )
  105.  
  106.    public:
  107.  
  108.       CSquare();
  109.       CSquare( DWORD size, const CPoint& location, COLORREF fill_color = WHITE, COLORREF line_color = BLACK );
  110.      
  111.       virtual ~CSquare();
  112.  
  113.       virtual void Serialize( CArchive& archive );
  114.       virtual void SetHeight( DWORD height );
  115.       virtual void SetSize( const CSize& size );
  116.       virtual void SetWidth( DWORD width );
  117.  
  118. #if defined( _DEBUG )
  119.  
  120.       virtual void Dump( CDumpContext& dump_context ) const;
  121.  
  122. #endif // _DEBUG
  123. };
  124.  
  125. class CEllipse : public CRectangle
  126. {
  127.    DECLARE_SERIAL( CEllipse )
  128.  
  129.    public:
  130.  
  131.       CEllipse();
  132.       CEllipse( DWORD height, DWORD width, const CPoint& location, COLORREF fill_color = WHITE, COLORREF line_color = BLACK );
  133.       
  134.       virtual ~CEllipse();
  135.  
  136.       virtual void Draw( CDC& device_context );
  137.       virtual void Serialize( CArchive& archive );
  138.  
  139. #if defined( _DEBUG )
  140.  
  141.       virtual void Dump( CDumpContext& dump_context ) const;
  142.  
  143. #endif // _DEBUG
  144. };
  145.  
  146. class CCircle : public CSquare
  147. {
  148.    DECLARE_SERIAL( CCircle )
  149.  
  150.    public:
  151.  
  152.       CCircle();
  153.       CCircle( DWORD size, const CPoint& location, COLORREF fill_color = WHITE, COLORREF line_color = BLACK );
  154.       
  155.       virtual ~CCircle();
  156.  
  157.       virtual void Draw( CDC& device_context );
  158.       virtual void Serialize( CArchive& archive );
  159.  
  160. #if defined( _DEBUG )
  161.  
  162.       virtual void Dump( CDumpContext& dump_context ) const;
  163.  
  164. #endif // _DEBUG
  165. };
  166.  
  167. #endif // DRAWING_OBJECTS_CLASS_HEADER
  168.